Rasberry Piの起動時にhubotも自動的に起動させる
Raspberry Pi を再起動したときに、hubot も自動的に起動するように設定する。
https://gyazo.com/13401b096655cb97ad15a16d6c5672c4
1. 起動用のシェルスクリプトを用意
code:sh
$ cd ~/homebot # hubotのディレクトリに移動
$ nano bin/homebot.sh # シェルスクリプトを新規作成(内容は以下の3行)
cd /home/<あなたのユーザー名>/<hubotのディレクトリ> # hubotのディレクトリへの絶対パス(例:cd /home/pi/homebot)
sudo -u <あなたのユーザー名> bin/hubot --adapter slack # (例: sudo -u pi bin/hubot --adapter slack)
$ chmod 755 bin/homebot.sh # スクリプトに実行権限を付える
$ bin/homebot.sh # 念のため、hubotが起動することを確認
# Ctrl+dで終了
2. 自動的に起動するための設定ファイルを、/etc/systemd/system 下に用意
code:sh
$ sudo nano /etc/systemd/system/homebot.service # 設定ファイルを新規作成(内容は以下の10行)
Description = hubot for smart home
ExecStart=/home/<あなたのユーザー名>/<hubotのディレクトリ>/bin/homebot.sh # 起動用スクリプトへの絶対パス
Restart=always
Type=simple
WantedBy=multi-user.target
3. 設定ファイルにミスがないか確認
code:sh
$ systemctl list-unit-files --type=service
:
homebot.service disabled # これが表示されていればOK
:
4. 手動で起動してみる
code:sh
$ sudo systemctl start homebot
5. 動作状況を確認
code:sh
$ systemctl status homebot # プロセスIDやログなどを表示する
6. Raspberry Pi の起動時に、hubot が自動的に起動するように、登録
code:sh
$ sudo systemctl enable homebot
(もしFailed to execute operation: Access deniedとエラーが出る場合は、disableにしてからenableにすると、うまくいく場合がある。)
7. 動作確認
code:sh
$ sudo reboot # Raspberry Pi を再起動
# 数分後に、再起動する
$ systemctl status homebot # hubot が起動しているか否かを表示
2017/12/27